package com.wcs.exam.controller.auth.req;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;

/**
 * <p>
 * Auth-用户信息-实名认证请求参数
 * </p>
 *
 * @author wcs
 * @since 2022-09-26
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(description = "Auth-用户信息-实名认证请求参数")
public class AuthUsersCertificationReq implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "实名认证客户端(1:PC端、2:H5端、3:微信H5端、4:小程序、5:APP)-默认：1")
    private Integer certificationClient;

    @Size(max = 20, message = "user.users.real.name.length.error")
    @NotBlank(message = "user.users.real.name.not.null")
    @Schema(description = "真实姓名", requiredMode = Schema.RequiredMode.REQUIRED)
    private String realName;

    @Size(max = 20, message = "user.users.id.card.length.error")
    @NotBlank(message = "user.users.id.card.not.null")
    @Schema(description = "身份证号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String idCard;

    @Schema(description = "实名内容(1:人脸识别时不能为空；2:人脸识别(【微信H5端】为对应的业务ID、【APP】为对应的订单编号、其他客户端时为对应的人脸视频的Base64编码内容)")
    private String content;
}
